<?php
	require("frmCookie.php");
	
	$iOpcion = $_GET[iOpcion];
	
	if(isset($_REQUEST['producto']))
	{
		$idProducto = $_REQUEST['producto'];
	}
	else
	{
		//Cuando entra desde el menu, no le pasa Producto en la URL por eso predetermino el Producto 2, que son los Celulares
		$idProducto = 2;	
	}
	
	function validarNokiaEnGarantiaDeFabricacion($sAno, $sMes, $fechaDeReparacion)
	{
		list($diaReparacion, $mesReparacion, $anoReparacion) = split("/", $fechaDeReparacion);
		if($mesReparacion < 10)
		{
			$mesReparacion = "0" . $mesReparacion;
		}
	
		if(strlen($sAno) == 1 && strlen($sMes) == 1)
		{
			//Usa una letra para el año y una letra para el mes
			
			$anoFabricacion = 1928 +  chr(strtoupper($sAno));
			$mesFabricacion = chr(strtoupper($sMes)) - 64;
			if($mesFabricacion < 10)
			{
				$mesFabricacion = "0" . $mesFabricacion;
			}
		}
		else if(strlen(sAno) == 2 && strlen(sMes) == 2)
		{
			//Usa dos números para el año y dos números para el mes
			$anoFabricacion = 2000 + $sAno;
			$mesFabricacion = $sMes;
		}
		
		$fechaFabricacion = $anoFabricacion . "" . $mesFabricacion;
		$fechaReparacion = $anoReparacion . "" . $mesReparacion;
	
		if($fechaReparacion - $fechaFabricacion <= 100)
		{
			return true;
		}
		else
		{
			return false;
		}
	}
	
	function agregaBlanks($inSTR, $inLong)
	{
		$long = $inLong - strlen($inSTR);
		for($a = 0; $a < $long; $a++)
			$inSTR = "0" . $inSTR;
			
		return $inSTR;
	}
	
	function normDate($inDate)
	{
		list($ano, $mes, $dia) =  split("-", substr($inDate, 0, 10));
		switch($mes)
		{
			case 1:
			{
				$outDate = $ano . " Jan " . $dia;  
				break;
			}
			case 2:
			{
				$outDate = $ano . " Feb " . $dia;
				break;
			}
			case 3:
			{
				$outDate = $ano . " Mar " . $dia;
				break;
			}
			case 4:
			{
				$outDate = $ano . " Apr " . $dia;
				break;
			}
			case 5:
			{
				$outDate = $ano . " Jun " . $dia;
				break;
			}
			case 6:
			{
				$outDate = $ano . " Jun " . $dia;
				break;
			}
			case 7:
			{
				$outDate = $ano . " Jul " . $dia;
				break;
			}
			case 8:
			{
				$outDate = $ano . " Aug " . $dia;
				break;
			}
			case 9:
			{
				$outDate = $ano . " Sep " . $dia;
				break;
			}
			case 10:
			{
				$outDate = $ano . " Oct " . $dia;
				break;
			}
			case 11:
			{
				$outDate = $ano . " Nov " . $dia;
				break;
			}
			case 12:
			{
				$outDate = $ano . " Dec " . $dia;
				break;
			}
		}		
		return $outDate;
	}
?>
<html>
	<head>
    	<?php
		require("frmHeader.php");
		?>
		<script language="javascript" src="scripts/ajax.js"></script>
		<script language="javascript" src="scripts/validar.js"></script>
		<script language="javascript">
		function validaForm()
		{
			if (frm.txtFechaDesde.value == "")
			{
				alert("Por favor ingrese la Fecha Desde.");
				frm.txtFechaDesde.focus();
				return false;
			}
			
			if(isDate(frm.txtFechaDesde.value) == false)
			{
				frm.txtFechaDesde.focus();
				return false;
			}
			
			if (frm.txtFechaHasta.value == "")
			{
				alert("Por favor ingrese la Fecha Hasta.");
				frm.txtFechaHasta.focus();
				return false;
			}
			
			if(isDate(frm.txtFechaHasta.value) == false)
			{
				frm.txtFechaHasta.focus();
				return false;
			}
			
			return true;
		}
		</script>
	</head>
	<body>
    	<table cellpadding="0" cellspacing="0" align="center" class="tablaPrincipal">
        	<tr>
            	<td align="center">
                	<?php
					require("frmSession.php"); 
					
					//Redirecciona a SINPERMISOS.PHP en caso de no tener permisos
					
					if (!(in_array(34000, $_SESSION[permisos])))
					{
					?>
					  <script language="JavaScript" type="text/javascript">
					  <!--
					  window.location.href = "sinPermisos.php"
					  //-->
					  </script>
					<?php
					}
					$titulo = "Reporte Nokia";
					
					?>
                </td>
            </tr>
            <tr>
            	<td align="center">
                	<?php
					require("frmTitulo.php");
					?>
                </td>
            </tr>
            <tr>
            	<td height="20">&nbsp;
                	
                </td>
            </tr>
            <tr>
            	<td align="center">
                	<table cellpadding="0" cellspacing="0" align="center" class="menuPrincipal">
                    	<tr>
                        	<td>
								<?php
                                require("frmMenu.php");
                                ?>
                            </td>
                        </tr>
                    </table>
                </td>
            </tr>
            <tr>
            	<td height="20">&nbsp;
                	
                </td>
            </tr>
            <tr>
                <td align="center">
                	<table cellpadding="0" cellspacing="0" align="center" class="tituloPantalla">
                    	<tr>
                        	<td align="center">
                            	<p class="texto" align="left"><?php echo $titulo; ?></p>
                            </td>
                        </tr>
                    </table>
                </td>
            </tr>
             <tr>
            	<td height="20">&nbsp;
                	
                </td>
            </tr>
            <tr>
                <td align="center">
                	<table cellpadding="0" cellspacing="0" align="center" class="estadoPantalla">
                    	<tr>
                        	<td align="center">
                            	<p class="texto" align="left"><?php echo $mensaje; ?></p>
                            </td>
                        </tr>
                    </table>
                </td>
            </tr>
             <tr>
            	<td height="20">&nbsp;
                	
                </td>
            </tr>
            <tr>
                <td align="center">
                	<table cellpadding="0" cellspacing="0" align="center" class="contenedorPrincipal">
                    	<tr>
                        	<td align="">
                        		<?php
                        		switch($iOpcion)
                        		{
                        			case 1:
                        			{
                				?>
                				<form name="frm" action="excelNokia.php?iOpcion=2" onSubmit="return validaForm();" method="post">
                					<table>
                                    	<tr style="display:none;">
                                            <td>
                                                *Producto:
                                            </td>
                                            <td>
                                                <select name="producto">
                                                    <?php
                                                    
                                                    $mySQL = "Select * from productos order by nombre";
                                                    $productos = readSQL($mySQL);
                                                    foreach($productos as $producto)
                                                    {
                                                        if($producto['idProducto'] == $idProducto)
                                                        {
                                                            echo "<option value='".$producto['idProducto']."' selected>".$producto['nombre']."</option>";
                                                        }
                                                        else
                                                        {
                                                            echo "<option value='".$producto['idProducto']."'>".$producto['nombre']."</option>";
                                                            
                                                        }
                                                    }
                                                    
                                                    ?>
                                                </select>
                                            </td>
                                        </tr>
                						<tr>
                							<td>Fecha Desde: </td>
                							<td><input type="text" name="txtFechaDesde" size="10" maxlength="10" /></td>
                						</tr>
                						<tr>
                							<td>Fecha Hasta: </td>
                							<td><input type="text" name="txtFechaHasta" size="10" maxlength="10" /></td>
                						</tr>
                						<tr>
                							<td colspan="2" align="center"><input type="submit" name="cmdEnviar" value="Generar" /></td>
                						</tr>
                					</table>
                				</form>
                        		<?php
                        				break;
                        			}
                        			case 2:
                        			{
                        				$data = array(
										  array('Sucursal','Estado de Cobro', 'Comentario', 'Usuario', 'Estado de CaFE', 'Caso de reparacion', 'ID del caso en el sistema interno', 'Numero de ASV', 'Pais de Reparacion', 'Fecha de Recepcion', 'Categoria',  'Numero de serial (IMEI)', 'Codigo de Producto', 'Numero de serial de produccion', 'Accesorios Adjuntos', 'Fecha de Compra (PoP)', 'Garantia no Valida', 'Razon de la perdida de Garantia', 'VID', 'SWID', 'Apellido, Nombre  / Nombre del Cliente', 'Tipo de Cliente', 'Telefono principal de contacto', 'Direccion de E-mail', 'Fax', 'Direccion', 'Estado',	'Codigo Postal','Ciudad','ID del Cliente', 'Puede ser el Cliente Contactado para Encuestas?','Enviar Mensaje al Celular?', 'Enviar Correo Electronico?', 'Tipo de Devolucion', 'Sintoma del cliente', 'Descripcion del sintoma', 'Existencia del Sintoma?', 'Fecha estimada de Entrega del Equipo',	'Tipo de Modena', 'Costo Estimado'));
		                        		
		                        		list($dia, $mes, $ano) = split("/", $_POST[txtFechaDesde]);
										$fechaDesde = $ano . "-" . $mes . "-" . $dia;
                        				
                        				list($dia, $mes, $ano) = split("/", $_POST[txtFechaHasta]);
										$fechaHasta = $ano . "-" . $mes . "-" . $dia;
										
		                        		
										$mySQLOrden = "SELECT suc.nombre as sucursal, ec.nombre as estadocobro, o.observacionestadocobro, concat(u.apellido,', ',u.nombre) as usuario, onk.casodereparacion, o.idorden, suc.idsucursal, o.fechahorafin, o.imei, onk.codigoproducto, onk.psn, o.fechaactivacionlinea, onk.vid, concat(o.nombre, ' ', o.apellido) as cliente, onk.tipocliente, o.nrolinea, suc.telefono, onk.tiporetorno, sxm.codigo as sintoma, s.nombre as textosintoma, onk.yearcode, onk.monthcode FROM ordenesnokia onk join ordenes o on onk.idorden = o.idorden left join usuarios u on o.idusuario = u.idusuario left join  sucursales suc on o.idsucursal = suc.idsucursal left join reparaciones r on o.idorden = r.idorden left join sintomas s on r.idsintoma = s.idsintoma left join sintomasxmarca sxm on s.idsintoma = sxm.idsintoma left join estadoscobro ec on o.idestadocobro = ec.idestadocobro WHERE sxm.idProducto = $idProducto AND o.garantiaservice = 0 and sxm.idmarca = 1 AND o.fechahorafin BETWEEN '" . $fechaDesde . " 00:00:00' AND '" . $fechaHasta . " 23:59:59' group by onk.idorden";
										
		                        		$resultOrden = readSQL("SET SESSION TRANSACTION ISOLATION LEVEL READ UNCOMMITTED;".$mySQLOrden);
										
										foreach($resultOrden as $valueOrden)
										{
											$sucursal = $valueOrden['sucursal'];
											$estadoDeCobro = $valueOrden['estadocobro'];
											$comentario = $valueOrden['observacionestadocobro'];
											$usuario = $valueOrden['usuario'];
											if(trim($valueOrden['casodereparacion'])=='')
											{
												$estadoDeCafe = 'Offline';		
											}
											else if(trim($valueOrden['psn'])=='')
											{
												$estadoDeCafe = 'Online';	
											}
											else
											{
												$estadoDeCafe = 'Sin Internet';
											}

											$casoDeReparacion = $valueOrden['casodereparacion'];
											$idDelCasoEnElSistemaInterno = $valueOrden['idorden'];
											
											switch($valueOrden['idsucursal'])
											{
												case 15:
												{
													$numeroDeASV = '012_106205';
													break;	
												}
												case 16:
												{
													$numeroDeASV = '013_106205';
													break;	
												}
												case 17:
												{
													$numeroDeASV = '015_106205';
													break;	
												}
												case 18:
												{
													$numeroDeASV = '014_106205';
													break;	
												}
												case 19:
												{
													$numeroDeASV = '016_106205';
													break;	
												}
												case 20:
												{
													$numeroDeASV = '011_106205';
													break;	
												}
												case 22:
												{
													$numeroDeASV = '011_106205';
													break;	
												}
												case 23:
												{
													$numeroDeASV = '';
													break;	
												}
											}
											
											$paisDeReparacion = 'Argentina';
											$fechaDeRecepcion = $valueOrden['fechahorafin'];
											$categoria = 'Mobile Phones';
											$numeroDeSerial = $valueOrden['imei'];
											$codigoDeProducto = $valueOrden['codigoproducto'];
											$numeroDeSerialDeProduccion = $valueOrden['psn'];
											$accesoriosAdjuntos = '';
											
											$fecha = getdate();
											$dia = $fecha[mday];
											$mes = $fecha[mon];
											$ano = $fecha[year];
											if($dia < 10)
											{
												$dia = 0 . $dia;	
											}
											if($mes < 10)
											{
												$mes = 0 . $mes;	
											}
											$fechaDeReparacion = $dia."/".$mes."/".$ano;
											
											if(!validarNokiaEnGarantiaDeFabricacion($valueOrden['yearcode'], $valueOrden['monthcode'], $fechaDeReparacion))
											{
												$fechaDeCompra = substr($valueOrden['fechaactivacionlinea'],0,10);
												$garantiaNoValida = 'No';
											}
											else
											{
												$fechaDeCompra = '';
												$garantiaNoValida = 'Yes';
											}
											
											$razonDeLaPerdidaDeGarantía = '';
											$vid = $valueOrden['vid'];
											$swid = '';
											$nombreDelCliente = $valueOrden['cliente'];
											if(trim($nombreDelCliente)=='')
											{
												$nombreDelCliente = 'galander galander';
											}
											$tipoDeCliente = $valueOrden['tipocliente'];
											$telefonoPrincipalDeContacto = $valueOrden['nrolinea'];
											if(trim($telefonoPrincipalDeContacto)=='')
											{
												$telefonoPrincipalDeContacto = $valueOrden['telefono'];	
											}
											$direccionDeEmail = '';
											$fax = '';
											$direccion = '';
											$estado = '';
											$codigoPostal = '';
											$ciudad = '';
											$idDelCliente = '';
											$puedeSerElClienteContactadoParaEncuestas = '';
											$enviarMensajeAlCelular = '';
											$enviarCorreoElectronico = '';
											$tipoDeDevolucion = $valueOrden['tiporetorno'];
											$sintomaDelCliente = $valueOrden['sintoma'];
											$descripcionDelSintoma = $valueOrden['textosintoma'];
											$existenciaDelSintoma = 'Continuous fault';
											$fechaEstimadaDeEntregaDelEquipo = '';
											$tipoDeModena = '';
											$costoEstimado = '';
											
											$registro = array();
											
											array_push($registro, $sucursal);
											array_push($registro, $estadoDeCobro);
											array_push($registro, $comentario);
											array_push($registro, strtoupper($usuario));
											array_push($registro, $estadoDeCafe);
											array_push($registro, $casoDeReparacion);
											array_push($registro, $idDelCasoEnElSistemaInterno);
											array_push($registro, $numeroDeASV);
											array_push($registro, $paisDeReparacion);
											array_push($registro, $fechaDeRecepcion);
											array_push($registro, $categoria);
											array_push($registro, $numeroDeSerial);
											array_push($registro, $codigoDeProducto);
											array_push($registro, $numeroDeSerialDeProduccion);
											array_push($registro, $accesoriosAdjuntos);
											array_push($registro, $fechaDeCompra);
											array_push($registro, $garantiaNoValida);
											array_push($registro, $razonDeLaPerdidaDeGarantía);
											array_push($registro, $vid);
											array_push($registro, $swid);
											array_push($registro, $nombreDelCliente);
											array_push($registro, $tipoDeCliente);
											array_push($registro, $telefonoPrincipalDeContacto);
											array_push($registro, $direccionDeEmail);
											array_push($registro, $fax);
											array_push($registro, $direccion);
											array_push($registro, $estado);
											array_push($registro, $codigoPostal);
											array_push($registro, $ciudad);
											array_push($registro, $idDelCliente);
											array_push($registro, $puedeSerElClienteContactadoParaEncuestas);
											array_push($registro, $enviarMensajeAlCelular);
											array_push($registro, $enviarCorreoElectronico);
											array_push($registro, $tipoDeDevolucion);
											array_push($registro, $sintomaDelCliente);
											array_push($registro, $existenciaDelSintoma);
											array_push($registro, $fechaEstimadaDeEntregaDelEquipo);
											array_push($registro, $tipoDeModena);
											array_push($registro, $costoEstimado);
											
											array_push($data, $registro);
										}
		                        		
		                        		
		                        		
		                        		// include package
										require 'Spreadsheet/Excel/Writer.php';
										
										// Fecha Hora Inicio
										$fecha = getdate();
										$dia = $fecha[mday];
										$mes = $fecha[mon];
										$ano = $fecha[year];
										$hora = $fecha[hours];
										$minutos = $fecha[minutes];
										$segundos = $fecha[seconds];
										$archivo =  $ano . "-" . $mes . "-" . $dia . "-" . $hora . "-" . $minutos . "-" . $segundos . "Nokia.xls";
										
										// create empty file
										if($_SERVER['SERVER_NAME'] == "localhost")
										{
											$host = "/Users/fede/Sites/galander/informes/";
										}
										else
										{
											$host = "/var/www/html/galander/informes/";	
										}
										$excel = new Spreadsheet_Excel_Writer($host . $archivo);
										
										// add worksheet
										$sheet =& $excel->addWorksheet('Hoja 1');
										
										// create format for header row 
										// bold, red with black lower border
										/*$firstRow =& $excel->addFormat();
										$firstRow->setBold();
										$firstRow->setColor('black');
										$firstRow->setBottom(1);*/
										//$firstRow->setBottomColor('black');
										
										// create format for header column
										// blue with black right border
										/*$firstCol =& $excel->addFormat();
										$firstRow->setBold();
										$firstCol->setColor('black');*/
										//$firstCol->setRight(1);
										//$firstCol->setRightColor('black');
										
										// create format for top left corner
										/*$firstRowCol =& $excel->addFormat();
										$firstRowCol->setBottom(1);*/
										//$firstRowCol->setRight(1);
										//$firstRowCol->setBorderColor('black');
										
										// create format for numeric cells
										$num =& $excel->addFormat();
										$num->setNumFormat('#');
										
										$imeiF =& $excel->addFormat();
										$imeiF->setNumFormat('000000000000000');
										
										$prodcode =& $excel->addFormat();
										$prodcode->setNumFormat('0000000');
										
										$psn =& $excel->addFormat();
										$psn->setNumFormat('0000');
										
										$fecIng =& $excel->addFormat();
										$fecIng->setNumFormat('mm-yyyy-dd');
										
										// create format for averaged values
										$avg =& $excel->addFormat();
										$avg->setNumFormat('0.00');
										
										// add data to worksheet
										$rowCount=0;
										foreach ($data as $row) 
										{
											for($colCount = 0; $colCount < sizeof($row); $colCount++) 
											{
											    /*if ($rowCount == 0 && $colCount == 0) {
											      $format = 'firstRowCol';
											    } else if ($rowCount == 0) {
											        $format = 'firstRow';        
											    } else if ($colCount == 0) {
											        $format = 'firstCol';                
											    } else {
											        $format = 'num';                      
											    }*/
											    if($colCount == 11)
											    	$format = 'imeiF';
											    else if($colCount == 12)
											    	$format = 'psn';
											    else if($colCount == 15)
											    	$format = 'prodcode';
											    else if($colCount == 16)
											    	$format = 'avg';
											    else if($colCount == 17)
											    	$format = 'avg';
											    else if($colCount == 19)
											    	$format = 'fecIng';
											    else
											    	$format = 'num';
											    /*if($colCount == 4 || $colCount == 8 || $colCount == 9)
											    {
											    	$format = 'num';
											    }*/
										    	
										   		//$sheet->write($rowCount, $colCount, $row[$colCount], $$format);                       
												$sheet->writeString($rowCount, $colCount, $row[$colCount]);                       
										  	}  
										  // get cell coordinates
										  $start = Spreadsheet_Excel_Writer::rowcolToCell($rowCount, 1);
										  $end = Spreadsheet_Excel_Writer::rowcolToCell($rowCount, (sizeof($row)-1));
										  // add average() formula to terminating cell of each row
										  // except the first (header) row
										  /*if ($rowCount != 0) {
										    $sheet->writeFormula($rowCount, sizeof($row), "=AVERAGE($start:$end)", $avg);     
										  } */
										  $rowCount++;
										}
										
										// save file to disk
										if ($excel->close() === true) 
										{
											echo "<a class='linknuevo' href='informes/" . $archivo . "'>Descargar Archivo</a>";
										  //echo 'Spreadsheet successfully saved!';  
										} else {
										  echo 'ERROR: Could not save spreadsheet.';
										}
										
										/*foreach($data as $val)
										{
											foreach($val as $val1)
											{
												echo $val1 . "<br>";
											}
										}*/
                        				break;
                        			}
								}
                        		?>
                            </td>
                        </tr>
                    </table>
                </td>
            </tr>
        </table>
	</body>
</html>